<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>Tekdaqc Firmware: Telnet Server</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customstyle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Tekdaqc Firmware
   &#160;<span id="projectnumber">1.0.2.0</span>
   </div>
   <div id="projectbrief">The firmware of the Tekdaqc.</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__telnet__server.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Telnet Server<div class="ingroups"><a class="el" href="group__tekdaqc__firmware__libraries.html">Tekdaqc Firmware Libraries</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_telnet_opts__t.html">TelnetOpts_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Telnet options state structure. A structure that contains the state of the options supported by the telnet server, along with the possible flags.  <a href="struct_telnet_opts__t.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_telnet_server__t.html">TelnetServer_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Data structure to hold the state of the Telnet server. Contains all of the necessary state variables to impliment the Telnet server. Direct manipulation of these members is not recommended as it may leave the server in an inconsistent state. Instead, helper methods are provided which will ensure that all necessary operations occur as a result of any change.  <a href="struct_telnet_server__t.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:gae9088b6c383afeff8d58098f141afbd3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae9088b6c383afeff8d58098f141afbd3"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__telnet__server.html#gae9088b6c383afeff8d58098f141afbd3">TELNET_BUFFER_LENGTH</a>&#160;&#160;&#160;2056</td></tr>
<tr class="memdesc:gae9088b6c383afeff8d58098f141afbd3"><td class="mdescLeft">&#160;</td><td class="mdescRight">The length of the buffer to use for Telnet data. <br/></td></tr>
<tr class="separator:gae9088b6c383afeff8d58098f141afbd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0e9795e3bb758850785e6ebc676ab01b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0e9795e3bb758850785e6ebc676ab01b"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__telnet__server.html#ga0e9795e3bb758850785e6ebc676ab01b">NOT_CONNECTED</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:ga0e9795e3bb758850785e6ebc676ab01b"><td class="mdescLeft">&#160;</td><td class="mdescRight">The Telnet server is not connected to a client. <br/></td></tr>
<tr class="separator:ga0e9795e3bb758850785e6ebc676ab01b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf6202935c026af12978d46a765dafb90"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf6202935c026af12978d46a765dafb90"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__telnet__server.html#gaf6202935c026af12978d46a765dafb90">CONNECTED</a>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:gaf6202935c026af12978d46a765dafb90"><td class="mdescLeft">&#160;</td><td class="mdescRight">The Telnet server is connected to a client. <br/></td></tr>
<tr class="separator:gaf6202935c026af12978d46a765dafb90"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8b600918f84783490fd791ce773175ab"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__telnet__server.html#ga8b600918f84783490fd791ce773175ab">TELNET_IAC</a>&#160;&#160;&#160;((char) 255)</td></tr>
<tr class="separator:ga8b600918f84783490fd791ce773175ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9b82c3af8c3a14bc1f758d79a00e9ee9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__telnet__server.html#ga9b82c3af8c3a14bc1f758d79a00e9ee9">TELNET_OPT_BINARY</a>&#160;&#160;&#160;((char) 0)</td></tr>
<tr class="separator:ga9b82c3af8c3a14bc1f758d79a00e9ee9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga87cde070c7f961821be5f38065c6a4a0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga87cde070c7f961821be5f38065c6a4a0"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__telnet__server.html#ga87cde070c7f961821be5f38065c6a4a0">OPT_FLAG_WILL</a>&#160;&#160;&#160;((uint8_t) 1)</td></tr>
<tr class="memdesc:ga87cde070c7f961821be5f38065c6a4a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">The bit in the ucFlags member of the tTelnetOpts that is set when the remote client has sent a WILL request and the server has accepted it. <br/></td></tr>
<tr class="separator:ga87cde070c7f961821be5f38065c6a4a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaab89806cad0a31ec6d4cae073ffbebcb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaab89806cad0a31ec6d4cae073ffbebcb"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__telnet__server.html#gaab89806cad0a31ec6d4cae073ffbebcb">OPT_FLAG_DO</a>&#160;&#160;&#160;((uint8_t) 2)</td></tr>
<tr class="memdesc:gaab89806cad0a31ec6d4cae073ffbebcb"><td class="mdescLeft">&#160;</td><td class="mdescRight">The bit in the ucFlags member of tTelnetOpts that is set when the remote client has sent a DO request and the server has accepted it. <br/></td></tr>
<tr class="separator:gaab89806cad0a31ec6d4cae073ffbebcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga6a34decdb77d8c9df8ead5420ea8d326"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__telnet__server.html#ga6a34decdb77d8c9df8ead5420ea8d326">TelnetState_t</a> { <br/>
&#160;&#160;<a class="el" href="group__telnet__server.html#gga6a34decdb77d8c9df8ead5420ea8d326ae583c55c9f9a3aa9888e4ed771d6a9b6">STATE_NORMAL</a>, 
<a class="el" href="group__telnet__server.html#gga6a34decdb77d8c9df8ead5420ea8d326ac445fb392e1398d85894ed95c217535d">STATE_IAC</a>, 
<a class="el" href="group__telnet__server.html#gga6a34decdb77d8c9df8ead5420ea8d326aab00693e6446eb0b2dd86441e16fa7bd">STATE_WILL</a>, 
<a class="el" href="group__telnet__server.html#gga6a34decdb77d8c9df8ead5420ea8d326a1c98dcef9f1808d490980c9660d07356">STATE_WONT</a>, 
<br/>
&#160;&#160;<a class="el" href="group__telnet__server.html#gga6a34decdb77d8c9df8ead5420ea8d326a690d160db6429d82862282d94e3b4c4f">STATE_DO</a>, 
<a class="el" href="group__telnet__server.html#gga6a34decdb77d8c9df8ead5420ea8d326a8efcfd07c99adc3da1f982af25bb6054">STATE_DONT</a>
<br/>
 }</td></tr>
<tr class="memdesc:ga6a34decdb77d8c9df8ead5420ea8d326"><td class="mdescLeft">&#160;</td><td class="mdescRight">Telnet parser state enumeration. The possible states of the telnet option parser.  <a href="group__telnet__server.html#ga6a34decdb77d8c9df8ead5420ea8d326">More...</a><br/></td></tr>
<tr class="separator:ga6a34decdb77d8c9df8ead5420ea8d326"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab6653d6c1bd1261ebfcb4d667f848716"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__telnet__server.html#gab6653d6c1bd1261ebfcb4d667f848716">TelnetStatus_t</a> { <a class="el" href="group__telnet__server.html#ggab6653d6c1bd1261ebfcb4d667f848716a63347d81d258d4f3c53dca873fbe3b41">TELNET_OK</a>, 
<a class="el" href="group__telnet__server.html#ggab6653d6c1bd1261ebfcb4d667f848716ade43926fa79e7274b5a207aa99dfbf80">TELNET_ERR_CONNECTED</a>, 
<a class="el" href="group__telnet__server.html#ggab6653d6c1bd1261ebfcb4d667f848716a0ebd3cbc0fc21b74010e6faf772852e9">TELNET_ERR_BIND</a>, 
<a class="el" href="group__telnet__server.html#ggab6653d6c1bd1261ebfcb4d667f848716a01d38959911101e3354606780cf67a6d">TELNET_ERR_PCBCREATE</a>
 }</td></tr>
<tr class="memdesc:gab6653d6c1bd1261ebfcb4d667f848716"><td class="mdescLeft">&#160;</td><td class="mdescRight">Telnet status enumeration. The possible success/error causes for the Telnet server's operation.  <a href="group__telnet__server.html#gab6653d6c1bd1261ebfcb4d667f848716">More...</a><br/></td></tr>
<tr class="separator:gab6653d6c1bd1261ebfcb4d667f848716"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gae8002482499a83baab72c8714ef609d2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__telnet__server.html#gab6653d6c1bd1261ebfcb4d667f848716">TelnetStatus_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__telnet__server.html#gae8002482499a83baab72c8714ef609d2">InitializeTelnetServer</a> (void)</td></tr>
<tr class="memdesc:gae8002482499a83baab72c8714ef609d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize a <a class="el" href="struct_telnet_server__t.html" title="Data structure to hold the state of the Telnet server. Contains all of the necessary state variables ...">TelnetServer_t</a> struct with default values.  <a href="#gae8002482499a83baab72c8714ef609d2">More...</a><br/></td></tr>
<tr class="separator:gae8002482499a83baab72c8714ef609d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga26f786d2e47e4bb5f180d2740eebc957"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__telnet__server.html#ga26f786d2e47e4bb5f180d2740eebc957">TelnetClose</a> (void)</td></tr>
<tr class="memdesc:ga26f786d2e47e4bb5f180d2740eebc957"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is called when the the TCP connection should be closed.  <a href="#ga26f786d2e47e4bb5f180d2740eebc957">More...</a><br/></td></tr>
<tr class="separator:ga26f786d2e47e4bb5f180d2740eebc957"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6509e0047d80aea0570ec903a1e10887"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__data__types.html#ga0ecf26b576b9a54eca656b9be7ba6a06">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__telnet__server.html#ga6509e0047d80aea0570ec903a1e10887">TelnetIsConnected</a> (void)</td></tr>
<tr class="memdesc:ga6509e0047d80aea0570ec903a1e10887"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indicates if the Telnet server is occupied or not.  <a href="#ga6509e0047d80aea0570ec903a1e10887">More...</a><br/></td></tr>
<tr class="separator:ga6509e0047d80aea0570ec903a1e10887"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8946efc99077a959cb1cad3e059f9071"><td class="memItemLeft" align="right" valign="top">err_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__telnet__server.html#ga8946efc99077a959cb1cad3e059f9071">TelnetPoll</a> (void *arg, struct tcp_pcb *tpcb)</td></tr>
<tr class="memdesc:ga8946efc99077a959cb1cad3e059f9071"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when the lwIP TCP/IP stack needs to poll the server with/for data.  <a href="#ga8946efc99077a959cb1cad3e059f9071">More...</a><br/></td></tr>
<tr class="separator:ga8946efc99077a959cb1cad3e059f9071"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga93c1e298d9778f890b6df05b35072988"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__telnet__server.html#ga93c1e298d9778f890b6df05b35072988">TelnetRecvBufferWrite</a> (char character)</td></tr>
<tr class="memdesc:ga93c1e298d9778f890b6df05b35072988"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes a character into the telnet receive buffer.  <a href="#ga93c1e298d9778f890b6df05b35072988">More...</a><br/></td></tr>
<tr class="separator:ga93c1e298d9778f890b6df05b35072988"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaff55b8914481cb32d621a855a69a5635"><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__telnet__server.html#gaff55b8914481cb32d621a855a69a5635">TelnetRead</a> (void)</td></tr>
<tr class="memdesc:gaff55b8914481cb32d621a855a69a5635"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads a character from the telnet interface.  <a href="#gaff55b8914481cb32d621a855a69a5635">More...</a><br/></td></tr>
<tr class="separator:gaff55b8914481cb32d621a855a69a5635"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa2f418e9d287a2863fe1198e3c75f4ad"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__telnet__server.html#gaa2f418e9d287a2863fe1198e3c75f4ad">TelnetWrite</a> (const char character)</td></tr>
<tr class="memdesc:gaa2f418e9d287a2863fe1198e3c75f4ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes a character to the telnet interface.  <a href="#gaa2f418e9d287a2863fe1198e3c75f4ad">More...</a><br/></td></tr>
<tr class="separator:gaa2f418e9d287a2863fe1198e3c75f4ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga579198334cf97874ecc89e3b29351066"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__telnet__server.html#ga579198334cf97874ecc89e3b29351066">TelnetWriteString</a> (char *string)</td></tr>
<tr class="memdesc:ga579198334cf97874ecc89e3b29351066"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes a string to the telnet interface.  <a href="#ga579198334cf97874ecc89e3b29351066">More...</a><br/></td></tr>
<tr class="separator:ga579198334cf97874ecc89e3b29351066"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8779bc1d2c7943063104c8624a877d8b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__telnet__server.html#ga8779bc1d2c7943063104c8624a877d8b">TelnetProcessWill</a> (char option)</td></tr>
<tr class="memdesc:ga8779bc1d2c7943063104c8624a877d8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handle a WILL request for a telnet option.  <a href="#ga8779bc1d2c7943063104c8624a877d8b">More...</a><br/></td></tr>
<tr class="separator:ga8779bc1d2c7943063104c8624a877d8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac84ea97f4be2d0b62498cca6297d0ab7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__telnet__server.html#gac84ea97f4be2d0b62498cca6297d0ab7">TelnetProcessWont</a> (char option)</td></tr>
<tr class="memdesc:gac84ea97f4be2d0b62498cca6297d0ab7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handle a WONT request for a telnet option.  <a href="#gac84ea97f4be2d0b62498cca6297d0ab7">More...</a><br/></td></tr>
<tr class="separator:gac84ea97f4be2d0b62498cca6297d0ab7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabdf9478794e09f61ab850c78147a7c6f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__telnet__server.html#gabdf9478794e09f61ab850c78147a7c6f">TelnetProcessDo</a> (char option)</td></tr>
<tr class="memdesc:gabdf9478794e09f61ab850c78147a7c6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handle a DO request for a telnet option.  <a href="#gabdf9478794e09f61ab850c78147a7c6f">More...</a><br/></td></tr>
<tr class="separator:gabdf9478794e09f61ab850c78147a7c6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf2500a4ad4bcbfd6ac4367f298e42f10"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__telnet__server.html#gaf2500a4ad4bcbfd6ac4367f298e42f10">TelnetProcessDont</a> (char option)</td></tr>
<tr class="memdesc:gaf2500a4ad4bcbfd6ac4367f298e42f10"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handle a DONT request for a telnet option.  <a href="#gaf2500a4ad4bcbfd6ac4367f298e42f10">More...</a><br/></td></tr>
<tr class="separator:gaf2500a4ad4bcbfd6ac4367f298e42f10"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga348f2b04116a013b6eabfa72c926a25f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga348f2b04116a013b6eabfa72c926a25f"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__telnet__server.html#ga348f2b04116a013b6eabfa72c926a25f">TelnetProcessCharacter</a> (char character)</td></tr>
<tr class="memdesc:ga348f2b04116a013b6eabfa72c926a25f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Process a character received from the telnet port. <br/></td></tr>
<tr class="separator:ga348f2b04116a013b6eabfa72c926a25f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0660c325387baca6c54fe699ac048907"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__telnet__server.html#ga0660c325387baca6c54fe699ac048907">TelnetWriteErrorMessage</a> (char *message)</td></tr>
<tr class="memdesc:ga0660c325387baca6c54fe699ac048907"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print a message to the telnet connection formatted as an error.  <a href="#ga0660c325387baca6c54fe699ac048907">More...</a><br/></td></tr>
<tr class="separator:ga0660c325387baca6c54fe699ac048907"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0afb5de5ce2d81cdc5322e0534bae1d8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__telnet__server.html#ga0afb5de5ce2d81cdc5322e0534bae1d8">TelnetWriteStatusMessage</a> (char *message)</td></tr>
<tr class="memdesc:ga0afb5de5ce2d81cdc5322e0534bae1d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print a message to the telnet connection formatted as a status.  <a href="#ga0afb5de5ce2d81cdc5322e0534bae1d8">More...</a><br/></td></tr>
<tr class="separator:ga0afb5de5ce2d81cdc5322e0534bae1d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7d350b6355ef213d4aa15e9b80c3d15e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__telnet__server.html#ga7d350b6355ef213d4aa15e9b80c3d15e">TelnetWriteDebugMessage</a> (char *message)</td></tr>
<tr class="memdesc:ga7d350b6355ef213d4aa15e9b80c3d15e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print a message to the telnet connection formatted as a debug.  <a href="#ga7d350b6355ef213d4aa15e9b80c3d15e">More...</a><br/></td></tr>
<tr class="separator:ga7d350b6355ef213d4aa15e9b80c3d15e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7f3d87d181908e8353a67bbaf15fac50"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__telnet__server.html#ga7f3d87d181908e8353a67bbaf15fac50">TelnetWriteCommandDataMessage</a> (char *message)</td></tr>
<tr class="memdesc:ga7f3d87d181908e8353a67bbaf15fac50"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print a message to the telnet connection formatted as a command data message.  <a href="#ga7f3d87d181908e8353a67bbaf15fac50">More...</a><br/></td></tr>
<tr class="separator:ga7f3d87d181908e8353a67bbaf15fac50"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="ga8b600918f84783490fd791ce773175ab"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TELNET_IAC&#160;&#160;&#160;((char) 255)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Telnet commands, as defined by RFC854. </p>

<p>Definition at line <a class="el" href="_telnet_server_8h_source.html#l00076">76</a> of file <a class="el" href="_telnet_server_8h_source.html">TelnetServer.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga9b82c3af8c3a14bc1f758d79a00e9ee9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TELNET_OPT_BINARY&#160;&#160;&#160;((char) 0)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Telnet options, as defined by RFC856-RFC861. </p>

<p>Definition at line <a class="el" href="_telnet_server_8h_source.html#l00097">97</a> of file <a class="el" href="_telnet_server_8h_source.html">TelnetServer.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="ga6a34decdb77d8c9df8ead5420ea8d326"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__telnet__server.html#ga6a34decdb77d8c9df8ead5420ea8d326">TelnetState_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga6a34decdb77d8c9df8ead5420ea8d326ae583c55c9f9a3aa9888e4ed771d6a9b6"></a>STATE_NORMAL</em>&#160;</td><td class="fielddoc">
<p>The telnet option parser is in its normal mode. Characters are passed as is until an IAC byte is received. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga6a34decdb77d8c9df8ead5420ea8d326ac445fb392e1398d85894ed95c217535d"></a>STATE_IAC</em>&#160;</td><td class="fielddoc">
<p>The previous character received by the telnet option parser was an IAC byte. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga6a34decdb77d8c9df8ead5420ea8d326aab00693e6446eb0b2dd86441e16fa7bd"></a>STATE_WILL</em>&#160;</td><td class="fielddoc">
<p>The previous character sequence received by the telnet option parser was IAC WILL. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga6a34decdb77d8c9df8ead5420ea8d326a1c98dcef9f1808d490980c9660d07356"></a>STATE_WONT</em>&#160;</td><td class="fielddoc">
<p>The previous character sequence received by the telnet option parser was IAC WONT. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga6a34decdb77d8c9df8ead5420ea8d326a690d160db6429d82862282d94e3b4c4f"></a>STATE_DO</em>&#160;</td><td class="fielddoc">
<p>The previous character sequence received by the telnet option parser was was IAC DO. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga6a34decdb77d8c9df8ead5420ea8d326a8efcfd07c99adc3da1f982af25bb6054"></a>STATE_DONT</em>&#160;</td><td class="fielddoc">
<p>The previous character sequence received by the telnet option parser was was IAC DONT. </p>
</td></tr>
</table>

<p>Definition at line <a class="el" href="_telnet_server_8h_source.html#l00132">132</a> of file <a class="el" href="_telnet_server_8h_source.html">TelnetServer.h</a>.</p>

</div>
</div>
<a class="anchor" id="gab6653d6c1bd1261ebfcb4d667f848716"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__telnet__server.html#gab6653d6c1bd1261ebfcb4d667f848716">TelnetStatus_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggab6653d6c1bd1261ebfcb4d667f848716a63347d81d258d4f3c53dca873fbe3b41"></a>TELNET_OK</em>&#160;</td><td class="fielddoc">
<p>Everything is normal with the telnet server. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggab6653d6c1bd1261ebfcb4d667f848716ade43926fa79e7274b5a207aa99dfbf80"></a>TELNET_ERR_CONNECTED</em>&#160;</td><td class="fielddoc">
<p>There was an error in connection with the telnet server. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggab6653d6c1bd1261ebfcb4d667f848716a0ebd3cbc0fc21b74010e6faf772852e9"></a>TELNET_ERR_BIND</em>&#160;</td><td class="fielddoc">
<p>There was an error allocating memory for the telnet server. There was an error binding a socket to a port for the telnet server. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggab6653d6c1bd1261ebfcb4d667f848716a01d38959911101e3354606780cf67a6d"></a>TELNET_ERR_PCBCREATE</em>&#160;</td><td class="fielddoc">
<p>There was an error creating a PCB structure for the telnet server. </p>
</td></tr>
</table>

<p>Definition at line <a class="el" href="_telnet_server_8h_source.html#l00145">145</a> of file <a class="el" href="_telnet_server_8h_source.html">TelnetServer.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="gae8002482499a83baab72c8714ef609d2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__telnet__server.html#gab6653d6c1bd1261ebfcb4d667f848716">TelnetStatus_t</a> InitializeTelnetServer </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Initializes the provided <a class="el" href="struct_telnet_server__t.html" title="Data structure to hold the state of the Telnet server. Contains all of the necessary state variables ...">TelnetServer_t</a> struct with default values and creates a TCP port for it.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">none</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">none</td><td></td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_telnet_server_8c_source.html#l00376">376</a> of file <a class="el" href="_telnet_server_8c_source.html">TelnetServer.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga26f786d2e47e4bb5f180d2740eebc957"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TelnetClose </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This function is called when the the TCP connection should be closed.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">none</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">none</td><td></td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_telnet_server_8c_source.html#l00427">427</a> of file <a class="el" href="_telnet_server_8c_source.html">TelnetServer.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga6509e0047d80aea0570ec903a1e10887"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__data__types.html#ga0ecf26b576b9a54eca656b9be7ba6a06">bool</a> TelnetIsConnected </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Returns the connection status of the Telnet server. Since this implementation supports only one client at a time, this method can be used to determine if an incoming request can be honored as well as allowing other parts of the program to adjust their behavior depending on if a client is connected.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">none</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">bool</td><td>TRUE if the telnet server has an active connection. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_telnet_server_8c_source.html#l00458">458</a> of file <a class="el" href="_telnet_server_8c_source.html">TelnetServer.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga8946efc99077a959cb1cad3e059f9071"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">err_t TelnetPoll </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>arg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct tcp_pcb *&#160;</td>
          <td class="paramname"><em>tpcb</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Called by the lwIP stack when there is data to send/receive to/from the Telnet server.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">arg</td><td>void* to argument passed to callback by lwIP stack. </td></tr>
    <tr><td class="paramname">tpcb</td><td>tcp_pcb* To the tcp_pcb struct for the current tcp connection. </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">err_t</td><td>The error/status code. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_telnet_server_8c_source.html#l00469">469</a> of file <a class="el" href="_telnet_server_8c_source.html">TelnetServer.c</a>.</p>

</div>
</div>
<a class="anchor" id="gabdf9478794e09f61ab850c78147a7c6f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TelnetProcessDo </td>
          <td>(</td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>option</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This function will handle a DO request for a telnet option. If it is an option that is known by the telnet server, a WILL response will be generated if the option is not already enabled. For unknown options, a WONT response will always be generated.</p>
<p>The response (if any) is written into the telnet transmit buffer.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">option</td><td>char Option for the DO command. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>none </dd></dl>

<p>Definition at line <a class="el" href="_telnet_server_8c_source.html#l00711">711</a> of file <a class="el" href="_telnet_server_8c_source.html">TelnetServer.c</a>.</p>

</div>
</div>
<a class="anchor" id="gaf2500a4ad4bcbfd6ac4367f298e42f10"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TelnetProcessDont </td>
          <td>(</td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>option</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This funciton will handle a DONT request for a telnet option. If it is an option that is known by the telnet server, a WONT response will be generated if the option is not already disabled. For unknown options, a WONT resopnse will always be generated.</p>
<p>The response (if any) is written into the telnet transmit buffer.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">option</td><td>char Option for the DONT command. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>none </dd></dl>

<p>Definition at line <a class="el" href="_telnet_server_8c_source.html#l00753">753</a> of file <a class="el" href="_telnet_server_8c_source.html">TelnetServer.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga8779bc1d2c7943063104c8624a877d8b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TelnetProcessWill </td>
          <td>(</td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>option</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This function will handle a WILL request for a telnet option. If it is an option that is known by the telnet server, a DO response will be generated if the option is not already enabled. For unknown options, a DONT response will always be generated.</p>
<p>The response (if any) is written into the telnet transmit buffer.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">option</td><td>char Option for the WILL command. </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">none</td><td></td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_telnet_server_8c_source.html#l00626">626</a> of file <a class="el" href="_telnet_server_8c_source.html">TelnetServer.c</a>.</p>

</div>
</div>
<a class="anchor" id="gac84ea97f4be2d0b62498cca6297d0ab7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TelnetProcessWont </td>
          <td>(</td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>option</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This function will handle a WONT request for a telnet option. If it is an option that is known by the telnet server, a DONT response will be generated if the option is not already disabled. For unknown options, a DONT response will always be generated.</p>
<p>The response (if any) is written into the telnet transmit buffer.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">server</td><td>Pointer to the server to process. </td></tr>
    <tr><td class="paramname">option</td><td>char Option for the WONT command. </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">none</td><td></td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_telnet_server_8c_source.html#l00669">669</a> of file <a class="el" href="_telnet_server_8c_source.html">TelnetServer.c</a>.</p>

</div>
</div>
<a class="anchor" id="gaff55b8914481cb32d621a855a69a5635"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char TelnetRead </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Reads a character from the telnet interface.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">none</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">char</td><td>The character read from the telnet interface. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_telnet_server_8c_source.html#l00561">561</a> of file <a class="el" href="_telnet_server_8c_source.html">TelnetServer.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga93c1e298d9778f890b6df05b35072988"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TelnetRecvBufferWrite </td>
          <td>(</td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>character</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Writes a character into the telnet receive buffer.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">character</td><td>char The character to write. </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">none</td><td></td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_telnet_server_8c_source.html#l00516">516</a> of file <a class="el" href="_telnet_server_8c_source.html">TelnetServer.c</a>.</p>

</div>
</div>
<a class="anchor" id="gaa2f418e9d287a2863fe1198e3c75f4ad"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TelnetWrite </td>
          <td>(</td>
          <td class="paramtype">const char&#160;</td>
          <td class="paramname"><em>character</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Writes a character to the telnet interface.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">character</td><td>const char The character to write to the interface. </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">none</td><td></td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_telnet_server_8c_source.html#l00582">582</a> of file <a class="el" href="_telnet_server_8c_source.html">TelnetServer.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga7f3d87d181908e8353a67bbaf15fac50"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TelnetWriteCommandDataMessage </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>message</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Print a message to the telnet connection formatted as a command data.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">message</td><td>char* Pointer to the string to send </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">none</td><td></td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_telnet_server_8c_source.html#l01010">1010</a> of file <a class="el" href="_telnet_server_8c_source.html">TelnetServer.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga7d350b6355ef213d4aa15e9b80c3d15e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TelnetWriteDebugMessage </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>message</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Print a message to the telnet connection formatted as a debug.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">message</td><td>char* Pointer to the string to send </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">none</td><td></td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_telnet_server_8c_source.html#l00987">987</a> of file <a class="el" href="_telnet_server_8c_source.html">TelnetServer.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga0660c325387baca6c54fe699ac048907"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TelnetWriteErrorMessage </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>message</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Print a message to the telnet connection formatted as an error.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">message</td><td>char* Pointer to the string to send </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">none</td><td></td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_telnet_server_8c_source.html#l00943">943</a> of file <a class="el" href="_telnet_server_8c_source.html">TelnetServer.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga0afb5de5ce2d81cdc5322e0534bae1d8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TelnetWriteStatusMessage </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>message</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Print a message to the telnet connection formatted as a status.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">message</td><td>char* Pointer to the string to send </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">none</td><td></td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_telnet_server_8c_source.html#l00964">964</a> of file <a class="el" href="_telnet_server_8c_source.html">TelnetServer.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga579198334cf97874ecc89e3b29351066"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TelnetWriteString </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>string</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Writes a string to the specified Telnet server. Disables Ethernet interrupts during this process in order to prevent an intervening interrupt from corrupting the output buffer.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">string</td><td>char* Pointer to a C-String to write to the interface. </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">none</td><td></td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_telnet_server_8c_source.html#l00604">604</a> of file <a class="el" href="_telnet_server_8c_source.html">TelnetServer.c</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated on Mon Jul 28 2014 23:42:42 for Tekdaqc Firmware by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
  </ul>
</div>
</body>
</html>
